I would like to swap using project-serum/serum-ts.
I prepared the following while reading readme.MD.
readme.MDid.json file containing the wallet secret in ./config/solana/id.jsonAfter that, I tried to run node ./package/swap/example/swap.js, which is prepared for the sample.
This file -> https://github.com/project-serum/serum-ts/blob/master/packages/swap/examples/swap.js
I confirmed that it worked until line 26 _srmSwapPairs.
However, at line 29, I get the following error
Error: Unable to simulate swap
at Swap.estimate (/mnt/c/Users/username/Desktop/solana_test/serum-ts/packages/swap/lib/index.js:401:19)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async main (/mnt/c/Users/username/Desktop/solana_test/serum-ts/packages/swap/examples/swap.js:29:25)
My OS is Windows 10, but I am using WSL.
What could be the cause?
This is most likely failing because you're trying to simulate a swap from SRM to USDC on your wallet, but your wallet doesn't have enough SRM to complete the trade, or doesn't have the accounts to conduct the trade.
To learn more about the issue, you can hack the code to print out more information about the failure:
const resp = await this.program.provider.simulate(
tx,
signers,
params.options,
);
if (resp === undefined || resp.value.err || !resp.value.logs) {
console.error(resp); // get more information about the error
throw new Error('Unable to simulate swap');
}
You can make the changes at https://github.com/project-serum/serum-ts/blob/93946077cbacc4149a3372d9e6651bf4de18a255/packages/swap/src/index.ts#L535